In a wireless digital communication system, a station obtains access to the medium for transmission (e.g., a radio frequency) by deploying an access algorithm. A system according to the IEEE 802.11 Wireless LAN standards, for example, uses the Carrier Sense Multiple Access (CSMA) algorithm. The CSMA algorithm initially listens to the medium and begins transmitting when the signal level is below a certain threshold. Even with the CSMA algorithm, however, collisions will occur. For example, a collision will occur when two or more stations start transmitting at the same moment. The 802.11 standard provides a mechanism to reduce this probability by using a random back-off counter and using priority windows for transmitting certain packets. In addition, collisions may occur due to a “hidden node” situation, where a transmitting station is not detected by a second station and the second station starts to transmit as well. A third station may receive both transmitted signals. One or both of the transmitted signals may not be detected or recognized by the third station.
The 802.11 standard contains an acknowledgement mechanism to ensure that messages are properly received. After receiving a message in good order, the receiving station sends out an acknowledgement (ACK) message to the transmitting station. This ACK mechanism protects the system against packet loss, e.g., due to collisions. If a collision occurs as described above, one or two stations will not receive an ACK message on their transmitted message. Nonetheless, an ACK message may not be received on a transmitted message, for example, due to (i) an inherent detection failure (a false alarm probability versus a detection probability); (ii) bad signal quality (too much time dispersion); (iii) low signal power (too large a distance); or (iv) interference at the receiving station.
A given 802.11 implementation has several mechanisms available to overcome the inability to successfully transmit a message. If the transmitting station did not receive an ACK message, the transmitting station may retransmit the original message up to N times. The transmitting station increases the random access time with each retransmission. If the N retries fail, the transmitting station may try retransmissions with a more robust modulation. For example, if the N retries fail, the transmitting station may successively retransmit the original message on a lower rate (thereby providing more robust modulation), according to a fall-back algorithm. This proceeds until the maximum number of retries is reached or until the ACK message is received. It is noted that the receiving station may have correctly received the message several times and have responded with an ACK message several times. The receiving station may determine that its ACK message is not getting across (since messages are tagged), but the receiving station will not change its reaction and will continue sending an ACK message after reception of each correct message.
The transmitting station will react the same way in all these cases, including collisions, because the transmitting station does not know why the ACK message was not received. Although the system may have a robust implementation, the lack of knowledge at the transmitting station may result in inefficient reactions. For instance, when a collision is the cause of a lost ACK message, the reaction should not be the use of a more robust modulation, since a more robust modulation may increase the message length as well. In a system with high traffic load (and thus having high collision probabilities), a more robust modulation might be a destructive reaction, causing even more traffic load.
A need therefore exists for a method and apparatus for detecting a collision as a cause of not receiving an ACK message.